﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace MDIDemo
{
    public partial class frmLogon : DevExpress.XtraEditors.XtraForm
    {
        string sErr = "";
        public frmLogon()
        {
            InitializeComponent();

        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            BUS.PODControl ctr = new BUS.PODControl();
            DTO.PODInfo inf = ctr.Get(txtUserID.Text, ref sErr);
            if (inf.USER_ID == "" || inf.PASS != Modules.NguoiDung.HashString(txtPassword.Text))
            {
                lbErr.Text = "Người dùng hoặc mật khẩu không đúng, vui lòng đăng nhập lại!";
                return;
            }
            if (inf.EMP_ID != "")
            {
                lbErr.Text = "Người dùng đang sử dụng trên máy " + inf.EMP_ID + ", Vui lòng thoát trước khi đặng nhập!";
                return;
            }
            inf.EMP_ID = System.Environment.MachineName;
            ctr.Update(inf);
            frmMain frm = new frmMain();
            frmMain.__userID = inf.USER_ID;
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.Show();
            this.Hide();
        }

        void frm_FormClosed(object sender, FormClosedEventArgs e)
        {
            BUS.PODControl ctr = new BUS.PODControl();
            DTO.PODInfo inf = ctr.Get(frmMain.__userID, ref sErr);
            inf.EMP_ID = "";
            ctr.Update(inf);
            Close();
        }

        private void frmLogon_Load(object sender, EventArgs e)
        {
            sErr = "";
            BUS.CommonControl.SetConnection(Properties.Settings.Default.ConnectString);
            try
            {
                BUS.REFERGDControl ctr = new BUS.REFERGDControl();
                DataTable dt = ctr.GetAll(ref sErr);
                if (sErr == "")
                {
                    if (dt.Rows.Count > 0)
                    {
                        DTO.REFERGDInfo inf = new DTO.REFERGDInfo(dt.Rows[0]);
                        string str = inf.KHOASO ? "Khóa sổ" : "Mở sổ";
                        txtStatus.Text = str + " - " + inf.NGAYGD.ToString("dd/MM/yyyy");
                        //frmMain.__ngayMoSo = inf.NGAYGD;
                        //frmMain.__khoaSo = inf.KHOASO;
                    }
                }
                else
                {
                    frmConnect frm = new frmConnect();
                    if (frm.ShowDialog() != DialogResult.OK)
                        Close();
                    else frmLogon_Load(null, null);
                }

            }
            catch (Exception ex)
            {
                frmConnect frm = new frmConnect();
                if (frm.ShowDialog() != DialogResult.OK)
                    Close();
                else frmLogon_Load(null, null);

            }
        }
    }
}